# -*- coding: utf-8 -*-
import xml.dom.minidom
import pandas as pd
import os

key_list = []
value_list = []


def readStrings():
    dom = xml.dom.minidom.parse('strings.xml')
    root = dom.documentElement
    tags = dom.getElementsByTagName('string')

    for t in tags:
        key = t.getAttribute("name")
        value = t.firstChild.data
        # print(key,end="\t")
        # print(value)
        key_list.append(key)
        value_list.append(value)


def saveStrings():
    all_dict = {'id': key_list, 'Decript': value_list}
    df = pd.DataFrame(all_dict)

    with pd.ExcelWriter('strings.xls') as Writer:
        df.to_excel(Writer, 'Sheet1', index=False)


def readXlsSaveStrings():
    # 移除文件
    # os.remove('./strings.xml')
    # 使用pandas读取excel文件
    data = pd.read_excel("stringsT2A.xls")
    key_and_value_list = data.values.tolist()
    with open("Localizable.strings", "w", encoding="utf-8") as f:
        for item in key_and_value_list:
            str_line = '"%s" = "%s";' % (item[0], item[2])
            f.write(str_line)
            f.write("\n")


def readXlsSaveXmlString():
    # 使用pandas读取excel文件
    data = pd.read_excel("stringsT2A.xls")
    key_and_value_list = data.values.tolist()
    with open("stringsT2A.xml", "w", encoding="utf-8") as f:
        for item in key_and_value_list:
            str_line = '<string name="%s">%s</string>' % (item[0], item[2])
            f.write(str_line)
            f.write("\n")


if __name__ == "__main__":
    '''
    readStrings() # 读取 Android 的 strings.xml 内容，放入 list 中
    saveStrings() # 将 list 中的内容保存到 Excel 文件中
    '''
    # readXlsSaveXmlString() # 读取 Excel 中的内容，并保存到 Android 的 strings.xml 文件中
    readXlsSaveStrings() # 读取 Excel 中的内容，并保存到 iOS 的 strings 文件中
